<html>
<head><meta charset="utf-8"><title>Lang Item for Transmutability compiler-team#411 · t-compiler/major changes · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/index.html">t-compiler/major changes</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html">Lang Item for Transmutability compiler-team#411</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="228830149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228830149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228830149">(Mar 04 2021 at 18:59)</a>:</h4>
<p>A new proposal has been announced: <a href="https://github.com/rust-lang/compiler-team/issues/411">Intrinsic for Transmutability #411</a>. It will be announced at the next meeting to try and draw attention to it, but usually MCPs are not discussed during triage meetings. If you think this would benefit from discussion amongst the team, consider proposing a design meeting.</p>



<a name="228830924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228830924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228830924">(Mar 04 2021 at 19:04)</a>:</h4>
<p><span class="user-mention" data-user-id="219211">@Jack Wrenn</span> fyi you have <code>Assume</code> defined twice in the API surface</p>



<a name="228830994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228830994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228830994">(Mar 04 2021 at 19:04)</a>:</h4>
<p>not sure which derives you meant to keep so I didn't edit myself</p>



<a name="228831112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228831112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Wrenn <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228831112">(Mar 04 2021 at 19:05)</a>:</h4>
<p><span aria-label="shock" class="emoji emoji-1f628" role="img" title="shock">:shock:</span> fixed!</p>



<a name="228831485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228831485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228831485">(Mar 04 2021 at 19:07)</a>:</h4>
<p>The title of the MCP is a bit confusing. Intrinsics are functions implemented in the compiler itself. What you are describing is a lang item. (<code>#[lang = "..."]</code>)</p>



<a name="228831750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228831750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228831750">(Mar 04 2021 at 19:08)</a>:</h4>
<p>I'm unclear what the actual language item you're adding is</p>



<a name="228831766"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228831766" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228831766">(Mar 04 2021 at 19:09)</a>:</h4>
<p>is it <code>BikeshedIntrinsicFrom</code>?</p>



<a name="228832211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228832211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Wrenn <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228832211">(Mar 04 2021 at 19:11)</a>:</h4>
<p>The lang items are <code>BikeshedIntrinsicFrom</code> and <code>Assume</code>.</p>



<a name="228832445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228832445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228832445">(Mar 04 2021 at 19:12)</a>:</h4>
<p>Ok. And what parts of them need to be part of the compiler, rather than a library?</p>



<a name="228832466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228832466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228832466">(Mar 04 2021 at 19:13)</a>:</h4>
<p>sorry, I'm just having trouble finding the relevant parts in the writeup, it's rather long <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228832878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228832878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Wrenn <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228832878">(Mar 04 2021 at 19:15)</a>:</h4>
<p>Aah, sorry. The code snippet at the top reflects everything that needs to live in libcore. Actual <code>impl</code>s of <code>BikeshedIntrinsicFrom</code> will be generated on-the-fly by the compiler.</p>
<p>Everything outside of that snippet doesn't need to be in libcore or the compiler.</p>



<a name="228833114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228833114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228833114">(Mar 04 2021 at 19:16)</a>:</h4>
<p>The associated GitHub issue has been renamed. Renaming this Zulip topic.</p>



<a name="228833214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228833214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228833214">(Mar 04 2021 at 19:17)</a>:</h4>
<p>triagebot seems confused, it made a new stream instead of renaming lol</p>



<a name="228833263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228833263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228833263">(Mar 04 2021 at 19:17)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="307537">@Camelid</span> , I think you implemented it</p>



<a name="228833496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/228833496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#228833496">(Mar 04 2021 at 19:19)</a>:</h4>
<p>ok I see the relevant bits start at "Solution"</p>



<a name="229016775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/229016775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#229016775">(Mar 05 2021 at 20:10)</a>:</h4>
<p>Ah the issue is that it renamed the topic for every message after the rename, not all the messages.</p>



<a name="229016887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/229016887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#229016887">(Mar 05 2021 at 20:10)</a>:</h4>
<p>I'll open an issue later.</p>



<a name="229064890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/229064890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#229064890">(Mar 06 2021 at 04:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411/near/229016887">said</a>:</p>
<blockquote>
<p>I'll open an issue later.</p>
</blockquote>
<p><a href="https://github.com/rust-lang/triagebot/issues/1228">triagebot#1228</a></p>



<a name="231840866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/231840866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#231840866">(Mar 25 2021 at 17:15)</a>:</h4>
<p><span class="user-mention" data-user-id="219211">@Jack Wrenn</span> just curious what the latest is on the status of this.</p>



<a name="231845759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/231845759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Wrenn <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#231845759">(Mar 25 2021 at 17:46)</a>:</h4>
<p><span class="user-mention" data-user-id="224872">@rylev</span> I think it needs review by the compiler team?</p>



<a name="231845989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/231845989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#231845989">(Mar 25 2021 at 17:47)</a>:</h4>
<p>I can try to help there.</p>



<a name="231859535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/231859535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#231859535">(Mar 25 2021 at 19:12)</a>:</h4>
<p>From reading the MCP, I have the impression that this is an unstable, experimental implementation to allow us to try out this concept before committing to it in the RFC. Is that correct?</p>



<a name="231934814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/231934814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#231934814">(Mar 26 2021 at 09:22)</a>:</h4>
<p><span class="user-mention" data-user-id="125250">@Wesley Wiser</span> that is correct. The reason it was brought up as an MCP is the implementation is unlikely to be trivial and we wanted to make sure the compiler team was onboard before we start introducing some relatively complex machinery. But indeed, this will not be exposed to end users in any kind of stable way. That, of course, will go through the RFC process.</p>



<a name="232121463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/232121463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#232121463">(Mar 27 2021 at 22:04)</a>:</h4>
<p>A thought for the internal version: maybe skip the <code>Assume</code>, and just have a parameter for each of the things?  (Just as a way to reduce the scope of the conversation.)</p>
<p>The struct is important for the stabilized thing, so it can be <code>non_exhaustive</code> and have a nicer API, but for the internal thing it would be fine for it to add, remove, or rename parameters as it goes.</p>



<a name="232305898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/232305898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#232305898">(Mar 29 2021 at 17:36)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="492">@T-compiler</span>: Proposal <a href="https://github.com/rust-lang/compiler-team/issues/411#issuecomment-809572396">#411</a> has been seconded, and will be approved in 10 days if no objections are raised.</p>



<a name="233669013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Lang%20Item%20for%20Transmutability%20compiler-team%23411/near/233669013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Lang.20Item.20for.20Transmutability.20compiler-team.23411.html#233669013">(Apr 08 2021 at 15:04)</a>:</h4>
<p>This proposal has been accepted: <a href="https://github.com/rust-lang/compiler-team/issues/411">#411</a>.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>